package com.ruoyi.voit.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 充电桩维修记录对象 maintenance
 * 
 * @author ruoyi
 * @date 2025-07-17
 */
public class Maintenance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 维修记录唯一标识 */
    private String recordId;

    /** 关联充电桩ID */
    @Excel(name = "关联充电桩ID")
    private String pileId;

    /** 关联异常日志ID（可选） */
    @Excel(name = "关联异常日志ID", readConverterExp = "可=选")
    private String logId;

    /** 维修人员ID */
    @Excel(name = "维修人员ID")
    private String technicianId;

    /** 维修日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "维修日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date maintenanceDate;

    /** 维修描述 */
    @Excel(name = "维修描述")
    private String description;

    /** 维修后状态 */
    @Excel(name = "维修后状态")
    private String afterStatus;

    public void setRecordId(String recordId) 
    {
        this.recordId = recordId;
    }

    public String getRecordId() 
    {
        return recordId;
    }

    public void setPileId(String pileId) 
    {
        this.pileId = pileId;
    }

    public String getPileId() 
    {
        return pileId;
    }

    public void setLogId(String logId) 
    {
        this.logId = logId;
    }

    public String getLogId() 
    {
        return logId;
    }

    public void setTechnicianId(String technicianId) 
    {
        this.technicianId = technicianId;
    }

    public String getTechnicianId() 
    {
        return technicianId;
    }

    public void setMaintenanceDate(Date maintenanceDate) 
    {
        this.maintenanceDate = maintenanceDate;
    }

    public Date getMaintenanceDate() 
    {
        return maintenanceDate;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setAfterStatus(String afterStatus) 
    {
        this.afterStatus = afterStatus;
    }

    public String getAfterStatus() 
    {
        return afterStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("pileId", getPileId())
            .append("logId", getLogId())
            .append("technicianId", getTechnicianId())
            .append("maintenanceDate", getMaintenanceDate())
            .append("description", getDescription())
            .append("afterStatus", getAfterStatus())
            .toString();
    }
}
